package kr.hkit.powerjava.chapter20;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArraysEx {
	
	public static void main(String[] args) {
		
		ArrayList<Integer> arList = new ArrayList<>();
		//<E>: 기초형x 래퍼클래스나 참조형
		
		for (int i = 1; i < 11; i++) {
			arList.add(i);//들어가는 것은 Boxing
		}
		
		for(int a : arList){//들어갈 땐 Integer로 들어가고 출력은 int a에 넣음(언박싱)
			System.out.printf("%-3d ", a);//왼쪽정렬
		}
		
		System.out.println();
		
		for(int a : arList){
			System.out.printf("%3d ", a);//오른쪽으로 정렬
		}
		
		int[] arr = new int[10];
		for (int i = 0; i < 10; i++) {
			arr[i] = i+1;//들어가는 것은 Boxing
		}
		System.out.println();
		
		List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
		for (int i = 0; i < list.size(); i++) {
			System.out.print(list.get(i) + " ");
		}
		
		System.out.println();
		
		for(int a: arr){
			System.out.printf("%3d", a);
		}
		System.out.println();
		int idx = Arrays.binarySearch(arr, 5);//인덱스 반환
		//equals오버라이딩 되어있으면 다른 클래스들도 사용가능
		System.out.println("숫자 5의 위치는 "+idx);
		
		idx = Arrays.binarySearch(arr, 11);
		System.out.println("숫자 11의 위치는 " + idx);
		
		boolean[] lotto = new boolean[45];
		
		for(boolean b : lotto){//false로 초기화되어있음
			System.out.print(b + " ");
		}
		System.out.println();
		
		Arrays.fill(lotto, true);//true로 초기화
		
		for(boolean b : lotto){
			System.out.print(b + " ");
		}
		
		
	}
}
